﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#pragma pack(1)//设置默认对⻬数为1
struct S {
	char c1;
	char c2;
	int i;
};
#pragma pack()//取消设置的对⻬数，还原为默认
//int main() {
//        /*for (int i = 0; i < 100000; i++) {
//            int n = 10;
//            int a = 0;
//            int b = 0;
//            int num = 0;
//            while (i / n) {
//                a = i % n;
//                b = i / n;
//                num = num + a * b;
//                n *= 10;
//            }
//            if (num == i) {
//                printf("%d ", i);
//            }
//        }*/
//
//        return 0;
//}
//#include<stdio.h>
//int main()
//{
//    int i, j;
//    for (i = 10000; i < 99999; i++)
//    {
//        int sum = 0;
//        for (j = 10; j <= 10000; j = 10 * j)
//        {
//            sum += (i / j) * (i % j);
//        }
//        if (sum == i)
//            printf("%d ", i);
//    }
//    return 0;
//}
//int panduan(){
//union panduan {
//	int i;
//	char c1;
//}un;
//un.i = 1;
//return un.c1;
//}
//int main() {
//	int ret = panduan();
//	printf("%d", ret);
//	return 0;
//}

int main() {
	struct A {
		char c1 : 3;//申请3个比特位
		char c2 : 4;//申请4个比特位
		char c3 : 5;//申请5个比特位
		char c4 : 4;//申请4个比特位
	};
	printf("%d",sizeof(struct A));
	return 0;
}
struct A
{
	int _a : 2;
	int _b : 5;
	int _c : 10;
	int _d : 30;
};
int main()
{
	struct A sa = { 0 };
	scanf("%d", &sa._b);//这是错误的

	//正确的⽰范
	int b = 0;
	scanf("%d", &b);
	sa._b = b;
	return 0;
}